package com.etc.dao;

import com.etc.entity.Categorys;
import com.etc.entity.Movies;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface MoviesDao {
    /**
     * 通过电影名称模糊查询电影
     * */
    List<Movies> selectMovieByName(@Param("movieName") String movieName);

    /**
     * 通过电影名称模糊查询电影
     * */
    List<Movies> selectMovieByName2(@Param("movieName") String movieName);

    /**
     * 修改电影
     * */
    int modifyMovie(@Param("movieName") String movieName, @Param("movieContent") String movieContent,
                    @Param("movieImg") String movieImg, @Param("moviePrice") Double moviePrice,
                    @Param("movieDate")String movieDate,@Param("movieTime") int movieTime,
                    @Param("movieNo")int movieNo);

    /**
     * 添加电影
     * */
    int addMovie(@Param("movieName") String movieName, @Param("movieContent") String movieContent,
                 @Param("movieImg") String movieImg,
                 @Param("moviePrice") Double moviePrice, @Param("movieDate")String movieDate,
                 @Param("movieTime") int movieTime, @Param("movieStatus") int movieStatus,
                 @Param("categoryNo") int categoryNo, @Param("typeNo") int typeNo);

    /**
     * 通过编号no删除电影
     * */
    int delMovieByNo(@Param("movieNo")int movieNo);

    /**
     * @author luliang
     * @param  movieNo 电影序号
     * @return
     */
    int updateMovieStatus(@Param("movieNo")int movieNo);

    /**
     * @author luliang
     * 获取首页的电影按时间排序的信息
     */
    List<Movies> queryIndexMovies(@Param("startNo")int startNo,@Param("endNo")int endNo);
    /**
     * @author 取随机电影信息
     */
    List<Movies> queryRandMovies();
    /**
     * @author luliang
     *  按电影序号查询电影
     */
    Movies queryMovById(@Param("movieNo")int movieNo);


    /**
     * @author luliang
     * @return 电影名模糊查询所有电影
     */
    List<Movies> queryAllMoviesByName(@Param("movieName")String movieName);

    /**
     * @author luliang
     *  获取电影类型
     */
    List<Categorys> queryMovieCategorys();

    /**
     * 查询
     * @param movieName 电影名称
     * @return list
     */
    List<Movies> selectMovieBy(@Param("movieName")String movieName);
}